package com.cloudfun.campusshare.service;


import com.cloudfun.campusshare.common.model.dto.*;
import com.cloudfun.campusshare.common.model.vo.OrderInfo4PayCallBackVO;

/**
 * @author : zhangyongjie
 * @version : 1.0
 * @createTime : 2021/2/4 16:03
 * @description :
 */
public interface HsqService {


    /**
     * 创建统一交易单
     * @param tradePreCreateDTO
     * @return
     */
    TradePreCreateRespDTO createUnifyTradeOrder(TradePreCreateDTO tradePreCreateDTO);


    /**
     * 处理回调
     * @param callbackReq
     * @return
     */
    String handleCallback(BaseHsqReq callbackReq);

    /**
     * 影像资料批量上传回调
     * @param baseHsqReq
     * @return
     */
    String handleImageDataUploadCallback(BaseHsqReq baseHsqReq);


    /**
     *  个人商户进件注册
     * @param hsqMerchantRegisterDTO
     * @return
     */
    HsqMerchantRegisterRespDTO createMerchantRegister(HsqMerchantRegisterDTO hsqMerchantRegisterDTO);

    /**
     * 企业商户进件注册
     * @param hsqMerchantRegister4OrgDTO
     * @return
     */
    HsqMerchantRegisterRespDTO createMerchantRegister4Org(HsqMerchantRegister4OrgDTO hsqMerchantRegister4OrgDTO);


    /**
     * 批量上传影像资料
     * @param imageDataBatchUploadDTO
     * @return
     */
    ImageDataBatchUploadRespDTO uploadImageData(ImageDataBatchUploadDTO imageDataBatchUploadDTO);

    /**
     * 根据微信单号查询业务订单信息
     * @param weChatOrderNo
     * @return
     */
    OrderInfo4PayCallBackVO queryOrderInfo(String weChatOrderNo);
}
